<template>
    <a-modal
        :title="title"
        :width="width"
        :visible="visibles"
        :confirmLoading="confirmLoading"
        @ok="handleOk"
        @cancel="handleCancel"
        cancelText="关闭"
        wrapClassName="ant-modal-cust-warp"
        style="top: 5%; height: 100%; overflow-y: hidden"
    >
    <template slot="footer">
      <a-button key="backs" v-if="isReadOnly" @click="handleCancel"> 关闭 </a-button>
    </template>
    <!-- 查询区域 -->
    <div class="table-page-search-wrapper">
      <!-- 搜索区域 -->
      <a-form :form="form">
      <!-- <a-form layout="inline" @keyup.enter.native="searchQuery" :form="form"> -->
        <a-row :gutter="24">
          <a-col :md="6" :sm="8">
            <a-form-item label="单据编号123123" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}">
              <a-input placeholder="请输入单据编号查询" v-model="queryParam.billNo"></a-input>
            </a-form-item>
          </a-col>
          <a-col :md="6" :sm="10">
            <a-form-item label="单据日期" :labelCol="labelCol" :wrapperCol="wrapperCol">
              <a-range-picker
                style="width: 210px"
                v-model="queryParam.createTimeRange"
                format="YYYY-MM-DD"
                :placeholder="['开始时间', '结束时间']"
                @change="onDateChange"
                @ok="onDateOk"
              />
            </a-form-item>
          </a-col>
          <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
            <a-col :md="6" :sm="24">
              <a-button type="primary" @click="searchQuery(1)">查询</a-button>
              <a-button style="margin-left: 8px" @click="searchReset">重置</a-button>
            </a-col>
          </span>
        </a-row>
      </a-form>
    </div>
    <!-- 操作按钮区域 -->
    <!-- <div class="table-operator"  style="margin-top: 5px">
      <a-button v-if="btnEnableList.indexOf(1)>-1" @click="myHandleAdd" type="primary" icon="plus">新增</a-button>
      <a-dropdown v-if="selectedRowKeys.length > 0">
        <a-menu slot="overlay">
          <a-menu-item key="1" v-if="btnEnableList.indexOf(1)>-1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
        </a-menu>
        <a-button style="margin-left: 8px">
          批量操作 <a-icon type="down" />
        </a-button>
      </a-dropdown>
    </div> -->
    <!-- table区域-begin -->
    <div>
      <a-table
        ref="table"
        size="middle"
        bordered
        rowKey="id"
        :columns="columns"
        :dataSource="dataSource"
        :pagination="ipagination"
        :loading="loading"
        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
        @change="handleTableChange">
        <!-- <span slot="action" slot-scope="text, record">
          <a @click="myHandleDetail(record, '销售出库')">查看</a>
        </span> -->
      </a-table>
    </div>
    <!-- table区域-end -->
    <!-- 表单区域 -->
    <!-- <sale-out-modal ref="modalForm" @ok="modalFormOk"></sale-out-modal> -->
    <!-- <bill-detail ref="modalDetail"></bill-detail> -->
  </a-modal>
</template>
<script>
  import pick from 'lodash.pick'
  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
  import { BillListMixin } from '../../bill/mixins/BillListMixin'
  import JDate from '@/components/jeecg/JDate'
  import { addLinkDepot }  from '@/api/api'
  
  import Vue from 'vue'
  import {findDetailList, getDetailList} from "../../../api/api";
  export default {
    name: "SaleOutModal1",
    mixins:[JeecgListMixin,BillListMixin],
    props: ['idss','visibles','pid'],
    components: {
      JDate
    },
    data () {
      return {
        engineeringPointId:'',
        width:'80%',
        visible: false,
        isReadOnly: false,
        confirmLoading: false,
        title:"操作",
        selectedRowKeys: [],
        selectMaterialRows:[],
        loading: false,
        form: this.$form.createForm(this),
        // 查询条件
        //  ipagination: {
        //   current: 1,
        //   pageSize: 10,
        //   pageSizeOptions: ['10', '20', '30'],
        // },
        queryParam: {
          billNo: "",
          searchMaterial: "",
          type: "出库",
          subType: "销售",
          roleType: Vue.ls.get('roleType')
        },
        labelCol: {
          xs: { span: 24 },
          sm: { span: 8 },
        },
        wrapperCol: {
          xs: { span: 24 },
          sm: { span: 16 },
        },
        // 表单校验
        validatorRules:{
          operTime:{
            rules: [
              { required: true, message: '请输入单据日期!' }
            ]
          },
          organId:{
            rules: [
              { required: true, message: '请选择客户!' }
            ]
          },
          accountId:{
            rules: [
              { required: true, message: '请选择结算账户!' }
            ]
          }
        },
        // 表头
        columns: [
          {
            title: '#',
            dataIndex: '',
            key:'rowIndex',
            width:40,
            align:"center",
            customRender:function (t,r,index) {
              return parseInt(index)+1;
            }
          },
          { title: '客户名称', dataIndex: 'organName',width:120},
          { title: '单据编号', dataIndex: 'number',width:160,
            customRender:function (text,record,index) {
              if(record.linkNumber) {
                return text + "[转]";
              } else {
                return text;
              }
            }
          },
          { title: '商品信息', dataIndex: 'materialsList',width:220, ellipsis:true,
            customRender:function (text,record,index) {
              if(text) {
                return text.replace(",","，");
              }
            }
          },
          { title: '单据日期', dataIndex: 'operTimeStr',width:145},
          { title: '操作员', dataIndex: 'userName',width:80},
          { title: '金额合计', dataIndex: 'totalPrice',width:80},
          { title: '含税合计', dataIndex: 'totalTaxLastMoney',width:80,
            customRender:function (text,record,index) {
              return (record.discountMoney + record.discountLastMoney).toFixed(2);
            }
          },
          { title: '优惠后金额', dataIndex: 'discountLastMoney',width:100},
          { title: '收款', dataIndex: 'changeAmount',width:50},
        ],
        url: {
          list: "/engineeringPoint/findDepotHeadList",
          delete: "/depotHead/delete",
          deleteBatch: "/depotHead/deleteBatch"
        }
      }
    },
    computed: {

    },
   mounted() {
      console.log(this.idss,666)
      // this.manageList()
    
   },
    methods: {


    // // 分页事件
    // handleTableChange(e){
    //   console.log('searchQuery', 9999999999999999)
    //   this.ipagination.current = e.current
    //   this.searchQuery(e.current)
    //
    // },
    searchQuery (currentPage=1,pageSize=10){
      getDetailList({
        currentPage,
        pageSize,
        engineeringId: this.pid,
        billNo:this.queryParam.billNo,
        projectTimeStart:this.queryParam.createTimeRange,
        projectTimeEnd:this.queryParam.createTimeRange,

      }).then((res) => {

        console.log('searchQuery', 8888)

        if (res.code === 0) {
          // this.dataSource1 = res.data.row
          // this.ipagination.total = res.data.total

          this.$message.success('数据加载成功')
          this.dataSource = res.data.row
          this.ipagination.total = res.data.total

        }else {
          this.$message.success('数据加载失败')
        }
      })
    }
    ,

        handleTableChange(pagination, filters, sorter) {
                //TODO 筛选
            if (Object.keys(sorter).length > 0) {
                this.isorter.column = sorter.field;
                this.isorter.order = 'ascend' === sorter.order ? 'asc' : 'desc';
                    }
                this.ipagination = pagination;

                this.loadData();
        },
        onSelectChange(selectedRowKeys, selectionRows) {
          this.selectedRowKeys = selectedRowKeys;
          this.selectionRows = selectionRows;
        },
        // init(){
        // this.visible = true
        // },
        close () {
            this.$emit('close');
            // this.visibles = false;
        },
        //获取选择信息
        getSelectMaterialRows(rowId) {
        let dataSource = this.dataSource;
        let materialIds = "";
        this.selectMaterialRows = [];
        for (let i = 0, len = dataSource.length; i < len; i++) {
          if (this.selectedRowKeys.includes(dataSource[i].id)) {
            this.selectMaterialRows.push(dataSource[i]);
            materialIds = materialIds + "," + dataSource[i].mBarCode
          }
        }
        this.selectMaterialIds = materialIds.substring(1);
        },
        handleOk () {
            let that = this;
            this.getSelectMaterialRows();
            that.$emit('ok', that.selectMaterialRows, that.selectMaterialIds);
            
            let totalPrice = 0
            let arrs = that.selectMaterialRows
            var tableList = []
            console.log(that.selectMaterialRows,9999999)
            for(let item of arrs){
              console.log(item,666666)
             totalPrice += item.allPrice-0
             const depot = {
                "engineeringPointId":this.idss,
                "depotHeadId":item.id,
               "engineeringId":this.pid,
              }
              tableList.push(depot)
            }
            addLinkDepot(
                tableList,
            ).then( (res) =>{
              if(res.code == 0){
                this.$message.success('成功')
                this.$emit('guanb')
              } else{
                that.$message.warning(res.message)
              }
            })
            // that.searchReset(0)
            that.close();

        },
      handleCancel () {
        // this.close()
         this.$emit('guanb')
      },
    }
  }
</script>
<style scoped>
  @import '~@assets/less/common.less'
</style>